﻿<?php 

    //1、建立画布
    $img = imagecreatetruecolor('200', '80');
    //2、生成并填充背景色
    $bgc = imagecolorallocate($img, 220, 220, 200);
    
    imagefill($img, 0, 0, $bgc);
    // 3、用随机的颜色在随机的位置生成20条线段
    for ($i = 0; $i < 20; $i++) {
        $x1 = mt_rand(0, 200);
        $y1 = mt_rand(0, 80);
        $x2 = mt_rand(0, 200);
        $y2 = mt_rand(0, 80);
        $red = mt_rand(0, 255);
        $green = mt_rand(0, 255);
        $blue = mt_rand(0, 255);
        $color = imagecolorallocate($img, $red, $green, $blue);
        imageline($img, $x1, $y1, $x2, $y2, $color);
    }
    //4、用随机的颜色在随机的位置生成100个像素点
    for ($i = 0; $i < 100; $i++) {
        $x = mt_rand(0, 200);
        $y = mt_rand(0, 80);
        $color = imagecolorallocate($img, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
        imagesetpixel($img, $x, $y, $color);//像素点小可以使用圆
    }
    //5、用随机的颜色在随机的位置生成验证码文字
    for ($i = 0; $i < 4; $i++) {
        $size = 80/2;//单位 px 大小为高度的一半
        $angle = mt_rand(-30, 30);//水平x轴为0度
        $x = $i * 200 / 4;
        $y = 80*3/4; //文字左下角为锚点(x,y) x平分画布的宽度，y为画布高度的3/4，
        $color = imagecolorallocate($img, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
       // $fontfile = 'C:\Windows\Fonts\simhei.TTF';//MSYHl.TTC 字体文件的绝对路径(必须)，文件大于3M为中文字体文件
        $fontfile='C:/phpstudy_pro/WWW/cscs.qumei.com/weizanZB/yunque/simhei.ttf';
        $str = 'qwertyuipasdfghjklzxcvbnmQWERTYUIPASDFGHJKLZXCVBNM123456789';
        $text = $str[mt_rand(0, strlen($str))];
        imagettftext($img, $size, $angle, $x, $y, $color, $fontfile, $text);
    }
    //6、保存
   // header("content-type:image/png");//网页内容为图片类型
   // imagepng($img);//只有第一个参数，不会保存但显示在页面。
    //7、销毁
   // imagedestroy($img);               //释放资源



?>

